package org.donhuan.rms.ui;

import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.application.ActionBarAdvisor;
import org.eclipse.ui.application.IActionBarConfigurer;
import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
import org.eclipse.ui.application.WorkbenchWindowAdvisor;

public class ApplicationWorkbenchWindowAdvisor extends WorkbenchWindowAdvisor {

    public ApplicationWorkbenchWindowAdvisor(IWorkbenchWindowConfigurer configurer) {
        super(configurer);
    }

    public ActionBarAdvisor createActionBarAdvisor(IActionBarConfigurer configurer) {
        return new ApplicationActionBarAdvisor(configurer);
    }
    
    public void preWindowOpen() {
        IWorkbenchWindowConfigurer configurer = getWindowConfigurer();
        configurer.setInitialSize(new Point(1024, 768));
        configurer.setShowCoolBar(true);
        configurer.setShowStatusLine(true);
    }
    @Override
    public void postWindowOpen() {
    	Shell shell = getWindowConfigurer().getWindow().getShell();
    	Rectangle screenSize = Display.getCurrent().getClientArea();
    	Rectangle frameSize = shell.getBounds();
    	int x=(screenSize.width-frameSize.width)/2;;
    	int y=(screenSize.height-frameSize.height)/2;
		Point point=new Point(x, y);
		shell.setLocation(point);
    }
    @Override
    public void dispose() {
    	ImageCache.getInstance().dispose();
    }
}
